#include <iostream>

// 函数声明
void func(void);

static int counta = 10; /* 全局变量 */


// 
int count_extern ;
extern void write_extern();

int main()
{
    std::cout << " C++存储类 " << std::endl;

    std::cout << "auto: 自 C++ 11 以来，auto 关键字用于两种情况：声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。 C++98标准中auto关键字用于自动变量的声明，但由于使用极少且多余，在 C++17 中已删除这一用法" << std::endl;

    std::cout << "static 存储类" << std::endl;

    while (counta--)
    {
        func();
    }



    std::cout << "extern 存储类" << std::endl;

    count_extern = 10;
    write_extern();

    return 0;
}

// 函数定义
void func(void)
{
    static int i = 5; // 局部静态变量
    i++;
    std::cout << "变量 i 为 " << i;

    std::cout << " , 变量 count 为 " << counta << std::endl;
}
